"""
    B站缓存视频和音频的合并脚本
    # 1.获取当前目录下所有文件夹的的一个列表  dir_list
    # 2.进入每一个文件中读取entry.json文件中download_subtitle这个key对应的值到file_name
    #   2.1 file_name删除'玩转Git三剑客 '字符部分，添加'.mp4'得到输出文件名
    # 3.创建cmd命令'ffmpeg.exe -i video.m4s -i audio.m4s -codec copy' + file_name
    # 4.进入每一个dir_list下的文件夹中执行cmd
"""

import os
import json

"""获取路径"""
def list_dir(file_dir):
    print('\n\n<><><><><><> listdir <><><><><><>')
    print ("current dir : {0}".format(file_dir))
    dir_list = os.listdir(file_dir)
    for cur_file in dir_list:
        path = os.path.join(file_dir, cur_file)     # 获取每个视频项目文件夹的绝对路径
        if os.path.isdir(path):
            title_file_path = path + '\\entry.json'     # 找到每个视频文件夹下的entry文件，里面包含视频标题
            e_f = open(title_file_path,'r',encoding='UTF-8')    # 打开path + 'entry.json' title_file
            con_dic = json.loads(e_f.read())
            outname = con_dic['page_data']['download_subtitle']
            outname = outname[9:]  + '.mp4'  
            outname = outname.replace(' ','')   #删除空格 # 获得输出文件名
            print(outname)
            dir_list_2 = os.listdir(path)
            for cur_file_2 in dir_list_2:
                path_2 = os.path.join(path, cur_file_2)     # 找到存放视频的文件夹
                if os.path.isdir(path_2):
                    cmd = 'ffmpeg.exe -i %s\\video.m4s -i %s\\audio.m4s -codec copy E:\git_test\%s' %(path_2,path_2,outname)
                    print(cmd)
                    print(os.system(cmd))

path=r'E:\git-learning'     # 存放缓存文件的文件夹
list_dir(path)



